Просмотр полной версии : Подключение script один раз
Доброго времени суток.
Проблема в том, что нужно реализовать на динамической страничке подключение скрипта только один раз. Т.е. я все время делаю
include 'file.php';
echo '<script type="text/javascript" src="script.js"></script>';
Какую можно поставить проверку, что бы подключать скрипт только один раз?
И как можно установить кэширование/gzip скриптов. Заранее благодарен.
Какую можно поставить проверку, что бы подключать скрипт только один раз?
1. Фиксируй где-то на сервере, что скрипт уже подключался.
2. Меняй в корне алгоритм формирования страницы
У меня к примеру сейчас стоит проверка через сессию, т.е.
if ($_SESSION['script']!=1){
// Добавляю скрипт
$_SESSION['script']=1;}
Как можно на сервере зафиксировать передачу скрипта?
п.с. Может быть добавить проверку в самом javascript? Т.е.
if (abcd!=1){
// добавляем весь код
abcd=1;
}
Ваше мнение?
У меня к примеру сейчас стоит проверка через сессию, т.е.
if ($_SESSION['script']!=1){
// Добавляю скрипт
$_SESSION['script']=1;}
Тогда не понятно почему он у тебя подключается более одного раза... :blink:
Не подгружается в случае, если пользователь ходит по одному модулю, т.е. site.com/page/1
site.com/page/2 и т.д.
Но в случае если переходит к другому модулю, то if вообще игнорируется, хотя значение в сессии по прежнему 1. Я попробовал добавить проверку в сам javascript и вроде работает. Буду тестировать, спасибо за помощь.
danik.js
08.10.2013, 11:14
И как можно установить кэширование/gzip скриптов. Заранее благодарен.
Если сервак - apache, то можно прописать соотвествующие правила в .htaccess
Можно добавить в проект минимизатор скриптов/стилей. Он сам гзипует, выставляет заголовки, объединяет, режет и прочее.
если переходит к другому модулю
Х/з, что в ПХП значит "модуль"... Но суть сессии - хранить данные сеанса пока он не завершен или не истек ее таймаут...
Всё работает правильно и сессия не работа из-за того, что подгружаемые ajaxom файл был с ошибкой. В пхп ничего модулем наверное не называется, не силен в дефинициях. В моём случае модулем назвал template.
vBulletin® v3.6.7, Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot